load("@rules_proto_grpc//:defs.bzl", "proto_plugin")

proto_plugin(
    name = "breaking_plugin",
    quirks = ["QUIRK_DIRECT_MODE"],
    separate_options_flag = True,
    tool = select({
        "@bazel_tools//src/conditions:darwin_arm64": "@buf_breaking_plugin_darwin_arm64//file",
        "@bazel_tools//src/conditions:darwin_x86_64": "@buf_breaking_plugin_darwin_x86_64//file",
        "@bazel_tools//src/conditions:linux_aarch64": "@buf_breaking_plugin_linux_arm64//file",
        "@bazel_tools//src/conditions:linux_x86_64": "@buf_breaking_plugin_linux_x86_64//file",
        "@bazel_tools//src/conditions:windows_arm64": "@buf_breaking_plugin_windows_arm64//file",
        "@bazel_tools//src/conditions:windows_x64": "@buf_breaking_plugin_windows_x86_64//file",
    }),
    visibility = ["//visibility:public"],
)

proto_plugin(
    name = "lint_plugin",
    quirks = ["QUIRK_DIRECT_MODE"],
    separate_options_flag = True,
    tool = select({
        "@bazel_tools//src/conditions:darwin_arm64": "@buf_lint_plugin_darwin_arm64//file",
        "@bazel_tools//src/conditions:darwin_x86_64": "@buf_lint_plugin_darwin_x86_64//file",
        "@bazel_tools//src/conditions:linux_aarch64": "@buf_lint_plugin_linux_arm64//file",
        "@bazel_tools//src/conditions:linux_x86_64": "@buf_lint_plugin_linux_x86_64//file",
        "@bazel_tools//src/conditions:windows_arm64": "@buf_lint_plugin_windows_arm64//file",
        "@bazel_tools//src/conditions:windows_x64": "@buf_lint_plugin_windows_x86_64//file",
    }),
    visibility = ["//visibility:public"],
)
